Refinement of spacecraft angular velocity and attitude estimates using star data

ABSTRACT

A method and apparatus for refining a spacecraft state estimate, such as an attitude estimate or an angular velocity estimate, is disclosed. The method computes a plurality equations using residuals describing the difference between observed star positions and predicted positions based on inertial measurements, and solves those equations to generate refined estimates of the spacecraft state estimates.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims benefit of U.S. Provisional Patent ApplicationNo. 60/507,315, entitled “REFINEMENT OF ANGULAR VELOCITY BIAS ANDATTITUDE ESTIMATES USING STAR DATA,” by David D. Needelman, RongshengLi, and Yeong-Wei A. Wu, filed Sep. 30, 2003, which application ishereby incorporated by reference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to systems and methods for guidance andnavigation of spacecraft and in particular to a system and method forrefining the attitude and angular velocity estimates of a spacecraft.

2. Description of the Related Art

Spacecraft typically have one or more payloads that are directed totransmit or receive energy from ground stations. For example,communication satellites include one or more uplink antennae forreceiving information from an uplink center, and one or more downlinkantennae for transmitting information to a terrestrial receiver. Theuplink and downlink antennae are typically disposed on the satellitebody (or spacecraft bus) and are directed toward a terrestrial locationwhere an uplink/downlink antenna is transmitting/receiving theinformation.

In order to perform their intended functions, the attitude of suchsatellites must be accurately determined and controlled. Advancedsatellite systems typically require attitude determination and controlunder more demanding circumstances and with greater accuracy. Suchadvanced satellite systems may be required to perform attitudedetermination under adverse conditions (e.g. while the satellite isexperiencing rapid attitude changes and/or in high radiationenvironments), and in response to a loss of an attitude estimate, may beasked to perform an attitude determination autonomously. While methodsexist to recover attitude estimates, the accuracy of the estimateobtained may not be sufficient to meet system requirements. Furthermore,the attitude estimate obtained must be updated as the satellite moves;this requires the systems to also estimate satellite angular velocity,with respect to inertial space. As with the attitude determination, thedifficulty is not in estimating an angular velocity, but in estimatingit accurately enough to satisfy requirements. In the future, satelliteswill be required to perform these functions at more stringentperformance requirement levels (measured by such metrics as time toacquire attitude and angular velocity estimates and the accuracies ofthe estimates) than are generally required today.

In the past, to meet even the near term performance requirements forattitude determination under adverse conditions, satellites haverequired additional spacecraft sensors (such as spinning earth sensors),and intense ground processing of telemetered data.

What is needed is a system and method for refining inaccurate satelliteattitude and angular velocity estimates under demanding circumstanceswithout the use of sensors beyond gyro and star trackers (which are usedfor normal mode attitude estimation and control) and without groundsupport. The present invention satisfies that need.

SUMMARY OF THE INVENTION

To address the requirements described above, the present inventiondiscloses a method, apparatus for refining a spacecraft attitudeestimate. The method comprises the steps of determining observed starpositions

$\;_{obs}^{ST}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$in a first reference frame, ST, fixed with respect to a star sensorreference frame, for a plurality of stars observed at times t_(i) fori=1, 2, . . . , N; converting the observed star positions

$\;_{obs}^{ST}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$in the first reference frame ST, for a plurality of stars observed attimes t_(i) for i=1, 2, . . . , N into observed star positions

$\;_{obs}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$in a second reference frame, b, fixed with respect to a spacecraft bodyreference frame, for the plurality of stars observed at times ti fori=1, 2, . . . , N; determining an estimated spacecraft angular velocity,^(est){right arrow over (ω)}, at times t_(i) for i=1, 2, . . . , N;determining, through identification of the plurality of stars ascorresponding to entries in a star database, the star positions^(inertial){right arrow over (s)}_(i) with respect to an inertialreference frame inertial, for i=1, 2, . . . , N; predicting starpositions

${\;_{pred}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}},$with respect to the second reference frame b, for the plurality of starsobserved at times t_(i) for i=1, 2, . . . , N, from the star positionsin the inertial reference frame ^(inertial) _({right arrow over (s)})_(i), estimated spacecraft angular velocity ^(est){right arrow over (ω)}and an estimated spacecraft attitude ^(est){right arrow over (q)}_(b)_(—) _(inertial)(t_(a)), applicable at time t_(a); determining residuals

$\;_{res}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$in the second reference frame b for the plurality of stars observed attimes t_(i) for i=1, 2, . . . , N, from a difference between thepredicted star positions in the second reference frame

$\;_{pred}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$and the observed star positions in the second reference frame

$\;_{obs}^{b}{{\overset{\rightharpoonup}{s}\left( t_{i} \right)};}$determining N equations for differences between the refined starpositions

$\;_{refined}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$in the second reference frame b and observed star positions

$\;_{obs}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$in the second reference frame b at times t_(i) for i=1, 2, . . . , N asa function of the residuals in the second reference frame

$\;_{res}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$for the plurality of stars observed at times t_(i) for i=1, 2, . . . ,N, and a refined satellite state estimate; and determining the refinedsatellite state estimate to minimize the differences between the refinedstar positions in the second reference frame

${\,{\,{\,_{refined}^{b}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)$and observed star positions in the second reference frame

${\,{\,{\,_{obs}^{b}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)$at times t_(i) for i=1, 2, . . . , N from the N equations.

The present invention is also embodied in an apparatus for refining aspacecraft state estimate. The apparatus comprises one or more starsensors, a navigation subsystem, a predictor module, a differencer, anequation formulator, and an equation solver. The star sensor(s)determine observed star positions

${\,{\,{\,_{obs}^{ST}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)$in a first reference frame, ST, fixed with respect to a star sensorreference frame, for a plurality of stars observed at times t_(i) fori=1, 2, . . . , N. The navigation subsystem converts the observed starpositions

${\,{\,{\,_{obs}^{ST}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)$in the first reference frame ST, for a plurality of stars observed attimes t_(i) for i=1, 2, . . . , N into observed star positions

${\,{\,{\,_{obs}^{b}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)$in a second reference frame, b, fixed with respect to a spacecraft bodyreference frame, for the plurality of stars observed at times t_(i) fori=1, 2, . . . , N, determines an estimated spacecraft angular velocity,^(est){right arrow over (ω)}, at times t_(i) for i=1, 2, . . . , N; anddetermines, through identification of the plurality of stars ascorresponding to entries in a star database, the star positions^(inertial){right arrow over (s)}_(i) with respect to an inertialreference frame inertial, for i=1, 2, . . . , N. The predictor modulepredicts star positions

${{\,{\,{\,_{pred}^{b}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)},$with respect to the second reference frame b, for the plurality of starsobserved at times t_(i) for i=1, 2, . . . , N. from the star positionsin the inertial reference frame ^(inertial){right arrow over (s)}_(i),estimated spacecraft angular velocity ^(est){right arrow over (ω)} andan estimated spacecraft attitude ^(est){right arrow over (q)}_(b) _(—)_(inertial)(t_(a)), applicable at time t_(a). The differencer determinesresiduals

$\;_{res}^{b}{\overset{\rightharpoonup}{s}\left( t_{i} \right)}$in the second reference frame b for the plurality of stars observed attimes t_(i) for i=1, 2, . . . , N, from a difference between thepredicted star positions in the second reference frame

${\,{\,{\,_{pred}^{b}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)$and the observed star positions in the second reference frame

${{\,{\,{\,_{obs}^{b}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)}.$The equation formulator determines N equations for differences betweenthe refined star positions

${\,{\,{\,_{refined}^{b}\overset{\rightharpoonup}{s}}}}\left( t_{i} \right)$in the second reference frame b and observed star positions

$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , N asa function of the residuals in the second reference frame

$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$for the plurality of stars observed at times t_(i) for i=1, 2, . . . ,N, and a refined satellite state estimate. Finally, the solverdetermines the refined satellite state estimate to minimize thedifferences between the refined star positions in the second referenceframe

$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$and observed star positions in the second reference frame

$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$at times t_(i) for i=1, 2, . . . , N from the N equations.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 is a diagram of a satellite;

FIG. 2 is a diagram of an exemplary satellite attitude control system;

FIGS. 3A and 3B are diagrams illustrating the parameters used to refinespacecraft attitude and/or angular velocity estimates;

FIG. 4 is a diagram illustrating exemplary process steps that can beused to practice one embodiment of the present invention; and

FIG. 5 is a diagram presenting an embodiment of a system that can beused to refine spacecraft angular velocity and attitude estimates.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings which form a part hereof, and which is shown, by way ofillustration, several embodiments of the present invention. It isunderstood that other embodiments may be utilized and structural changesmay be made without departing from the scope of the present invention.

In the following description, reference is made to the accompanyingdrawings which form a part hereof, and which is shown, by way ofillustration, several embodiments of the present invention. It isunderstood that other embodiments may be utilized and structural changesmay be made without departing from the scope of the present invention.

FIG. 1 illustrates a three-axis stabilized satellite or spacecraft 100.The spacecraft 100 is preferably situated in a stationary orbit aboutthe Earth. The satellite 100 has a main body 102, a pair of solar panels104, a pair of high gain narrow beam antennas 106, and a telemetry andcommand omnidirectional antenna 108 which is aimed at a control groundstation. The satellite 100 may also include one or more sensors 110 tomeasure the attitude of the satellite 100. These sensors may include sunsensors, earth sensors, and star sensors. Since the solar panels areoften referred to by the designations “North” and “South”, the solarpanels in FIG. 1 are referred to by the numerals 104N and 104S for the“North” and “South” solar panels, respectively.

The three axes of the spacecraft 10 are shown in FIG. 1. The pitch axisP lies along the plane of the solar panels 140N and 140S. The roll axisR and yaw axis Y are perpendicular to the pitch axis P and lie in thedirections and planes shown. The antenna 108 points to the Earth alongthe yaw axis Y.

FIG. 2 is a diagram depicting the functional architecture of arepresentative attitude control system 200. Control of the spacecraft isprovided by a computer or spacecraft control processor (SCP) 202. TheSCP performs a number of functions which may include post ejectionsequencing, transfer orbit processing, acquisition control,stationkeeping control, normal mode control, mechanisms control, faultprotection, and spacecraft systems support, among others. The postejection sequencing could include initializing to ascent mode andthruster active nutation control (TANC). The transfer orbit processingcould include attitude data processing, thruster pulse firing, perigeeassist maneuvers, and liquid apogee motor (LAM) thruster firing. Theacquisition control could include idle mode sequencing, sunsearch/acquisition, and Earth search/acquisition. The stationkeepingcontrol could include auto mode sequencing, gyro calibration,stationkeeping attitude control and transition to normal mode. Thenormal mode control could include attitude estimation, attitude andsolar array steering, momentum bias control, magnetic torquing, andthruster momentum dumping (H-dumping). The mechanism's mode controlcould include solar panel control and reflector positioning control. Thespacecraft control systems support could include tracking and commandprocessing, battery charge management and pressure transducerprocessing.

Input to the spacecraft control processor 202 may come from anycombination of a number of spacecraft components and subsystems, such asa transfer orbit sun sensor 204, an acquisition sun sensor 206, aninertial reference unit 208, a transfer orbit Earth sensor 210, anoperational orbit Earth sensor 212, a normal mode wide angle sun sensor214, a magnetometer 216, and one or more star sensors 218. Groundcommands are also input into the spacecraft control processor. Thesecommands determine the control functions of the processor and the scanpatterns of some instruments and sensors.

The SCP 202 generates control signal commands 220 which are directed toa command decoder unit 222. The command decoder unit operates the loadshedding and battery charging systems 224. The command decoder unit alsosends signals to the magnetic torque control unit (MTCU) 226 and thetorque coil 228.

The SCP 202 also sends control commands 230 to the thruster valve driverunit 232 which in turn controls the liquid apogee motor (LAM) thruster234 and the attitude control thrusters 236.

Generally, the spacecraft 100 may use thrusters, momentum/reactionwheels, or a combination thereof to perform spacecraft 100 attitudecontrol.

Wheel torque commands 262 are generated by the SCP 202 and arecommunicated to the wheel speed electronics 238 and 240. These effectchanges in the wheel speeds for wheels in momentum/reaction wheelassemblies 242 and 244, respectively. The speed of the wheels is alsomeasured and fed back to the SCP 202 by feedback control signal 264.

When momentum wheel assemblies are used, the spacecraft controlprocessor also sends jackscrew drive signals 266 to the momentum wheelassemblies 242 and 244. These signals control the operation of thejackscrews individually and thus the amount of tilt of the momentumwheels. The position of the jackscrews is then fed back through commandsignal 268 to the spacecraft control processor. The signals 268 are alsosent to the telemetry encoder unit 258 and in turn to the ground station260. The spacecraft typically includes 4 reaction wheels, disposed topermit that application of torques in any direction, and permitting fora backup torque wheel, however, different number of momentum wheels andmomentum wheels of other design may be used. For the sake ofsimplification, the momentum wheel(s) will be alternatively referred toas momentum wheel(s) 242 hereinafter.

For some satellites, the spacecraft control processor 202 also commandsthe scan motions of various sensors and instruments. The scan timingsand patterns generated by the SCP 202 are communicated to the scan motordrivers 278.

The SCP 202 also provides commands to the solar wing drives 246, 248,which manipulate solar wings 104N and 104S respectively. The solar wings104N and 104S can be manipulated about the X axis and about the Y axisshown in FIG. 1. The SCP 202 can also step reflector positioningmechanisms (RPMs) 250 and 252 to adjust the antenna orientation. Modules250 and 252 provide the mechanism positions to the TM encoder unit 258.

The SCP 202 also sends command signals 254 to the telemetry encoder unit258 which in turn sends feedback signals 256 to the SCP 202. Thisfeedback loop, as with the other feedback loops to the SCP 202 describedearlier; assist in the overall control of the spacecraft. The SCP 202communicates with the telemetry encoder unit 258, which receives thesignals from various spacecraft components and subsystems indicatingcurrent operating conditions, and then relays them to the ground station260.

The SCP 202 may include or have access to memory 270, such as a randomaccess memory (RAM). Generally, the SCP 202 operates under control of anoperating system 272 stored in the memory 270, and interfaces with theother system components to accept inputs and generate outputs, includingcommands. Applications running in the SCP 202 access and manipulate datastored in the memory 270. The spacecraft 100 may also comprise anexternal communication device such as a satellite link for communicatingwith other computers at, for example, a ground station. If necessary,operation instructions for new applications can be uploaded from groundstations.

In one embodiment, instructions implementing the operating system 272,application programs, and other modules are tangibly embodied in acomputer-readable medium, e.g., data storage device, which could includea RAM, EEPROM, or other memory device. Further, the operating system 272and the computer program are comprised of instructions which, when readand executed by the SCP 202, causes the spacecraft processor 202 toperform the steps necessary to implement and/or use the presentinvention. Computer program and/or operating instructions may also betangibly embodied in memory 270 and/or data communications devices (e.g.other devices in the spacecraft 100 or on the ground), thereby making acomputer program product or article of manufacture according to theinvention. As such, the terms “program storage device,” “article ofmanufacture” and “computer program product” as used herein are intendedto encompass a computer program accessible from any computer readabledevice or media.

Spacecraft Attitude Estimate and Angular Velocity Estimate Refinement

FIG. 3A is a diagram illustrating the parameters used to refinespacecraft attitude and angular velocity estimates. The spacecraft 100comprises one or more star sensors (or “trackers”) 218 that sense stars312 with an apparent position on sphere 310 that are fixed in aninertial reference frame, inertial, but are not fixed with respect tothe spacecraft 100 body reference frame. In one embodiment, the inertialreference frame used is the “Earth-Centered Inertial” (ECI) frame,described by the geocentric inertial coordinate system specified in“Spacecraft Attitude Determination and Control”, edited by James R.Wertz, in Section 2.2, written by James R. Wertz (1978), and herebyincorporated by reference herein. The spacecraft 100 attitude isdetermined, based on the position of observed stars 312. A descriptionof how attitude may be determined from star observations is described inU.S. Pat. No. 6,470,270, issued to David D. Needelman et al. on Oct. 22,2002, which is hereby incorporated by reference herein.

Each star tracker 218 has a field of view 302A in which it can sense oneor more stars. In the illustrated embodiment, multiple stars 304 and 306are within the field of view 302A, and are tracked by the star tracker218 at time t_(a).

At time t_(a), the spacecraft attitude, the mapping from the ECIreference frame to a reference frame (b), fixed with respect to thespacecraft body reference frame, is defined by {right arrow over(q)}_(b) _(—) _(eci)(t_(a)), which can be expressed as a directioncosine matrix, quaternion, or other analogous representations. For themathematical derivations here, we shall assume a quaternionrepresentation. Given a quaternion representation, {right arrow over(q)}_(A) _(—) _(B), representing a mapping between frames “A” and “B”,and a vector, ^(B){right arrow over (v)}, defined with respect to frame“B ”, the equivalent vector, ^(A){right arrow over (v)}, defined withrespect to frame “A”, may be calculated as described in “SpacecraftAttitude Determination and Control”, edited by James R. Wertz, inAppendix D, written by Lawrence Fallon, III, (1978) which is herebyincorporated by reference herein. We shall define this calculation usingthe operator “*”; e.g., in the case just described, ^(A){right arrowover (v)}≡{right arrow over (q)}_(A) _(—) _(B)*^(B){right arrow over(v)}. If a position is known in the ECI reference frame to be^(eci){right arrow over (x)}, then ^(b){right arrow over (x)}(t_(a)),the corresponding body reference frame position, at time t_(a), may becalculated using ^(b){right arrow over (x)}(t_(a))≡{right arrow over(q)}_(b) _(—) _(eci)(t_(a))*^(eci){right arrow over (x)}.

A star catalog and star tracker 218, or plurality of star trackers, canbe used to produce a list of one or more identified stars, time-taggedat t_(i), (1≦i≦N) wherein the time t_(a) is between t₁ and t_(N)(t₁≦t_(a)≦t_(N)). The identified stars are stars tracked by the starsensor(s) or tracker(s) 218, which have been identified as correspondingto stars listed in a star catalog (illustrated in FIG. 5, which isdiscussed below). The identification may be done in various ways,including that which is described in the aforementioned U.S. Pat. No.6,470,270. The observed positions of the identified stars 304 and 306can be described in a reference frame that is fixed with respect to thestar tracker 218 reference frame

$\left( {\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} \right)$and/or the ECI reference frame (^(eci){right arrow over (s)}_(i)) (notethat the ECI-referenced positions are time-independent). Knowledge ofthe orientation of the star tracker 218 with respect to spacecraft 100body frame (b) allows calculation of the observed positions of theidentified stars 304 and 306 in the spacecraft 100 body reference frame

$\left( {\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} \right).$

The satellite's navigation system, as implemented by the attitudecontrol system 200, provides an estimate of the angular velocity et ofthe spacecraft 100 about an axis 314 with respect to an inertialreference frame. This value can be expressed in the spacecraft 100 bodyreference frame, and is assumed to remain substantially constant overthe time frame of interest. The satellite's navigation system, asimplemented by the attitude control system 200, also provides^(est){right arrow over (q)}_(b) _(—) _(eci)(t_(a)), an estimate of thespacecraft attitude at specified time t_(a).

FIG. 3B is a diagram further depicting the parameters used in theattitude and angular velocity estimate refinement. Due to angularrotation of the satellite 100, the star tracker 218 is now tracking star316 within FOV 302. The values for ^(eci){right arrow over (s)}_(i)(1≦i≦N), ^(est){right arrow over (q)}_(b) _(—) _(eci)(t_(a)) and^(est){right arrow over (ω)} can be used to generate

${\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$predicted values for ^(b){right arrow over (s)}(t_(i)), the starpositions with respect to the spacecraft 100 body frame, at times t_(i)for i=1, 2, . . . , N. The error in the attitude and angular velocityestimates will be represented in the residuals, that is, the calculateddifferences between

${\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)}\mspace{14mu}{and}\mspace{14mu}{{\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)}.}$The residuals can then be used to prepare a revised angular velocityestimate, and a revised attitude estimate, applicable at time t_(a).

Based on the assumptions described below, a refinement of the angularvelocity and attitude estimates may be calculated. First, it is assumedthat the spacecraft 100 moves at a constant angular velocity {rightarrow over (ω)}=|{right arrow over (ω)}|{right arrow over (λ)} betweentimes t₁ and t_(N), where |{right arrow over (ω)}| is the angular rate,and {right arrow over (λ)} is a unit vector defined with respect to thespacecraft body reference frame b. It is also assumed that at timet_(i), the body fixed point. ^(b)s(t_(i)) (which is an observed star,reported by the star tracker 218 and expressed in the spacecraft bodyreference frame b) is known to correspond to the ECI-position^(eci){right arrow over (s)}_(i) (the corresponding catalog position ofthe identified star). It is further assumed that at time t_(a)(t₁≦t≦t_(N)), the spacecraft attitude is {right arrow over (q)}_(b) _(—)_(eci)(t_(a)), so the body-referenced point corresponding to^(eci){right arrow over (s)}_(i) is:^(b) {right arrow over (s)}(t _(a))≡{right arrow over (q)} _(b) _(—eci)(t _(a))*^(eci) {right arrow over (s)} _(i).

With these assumptions, at time t_(i), the (observed) body-fixedposition ^(b){right arrow over (s)}(t_(i)), and the (deduced) body-fixedposition, ^(b){right arrow over (s)}(t_(a)), will satisfy therelationship described in Equation (1) below:^(b) {right arrow over (s)}(t _(i))=^(b) {right arrow over (s)}(t_(a))cos φ_(i)−(^(b) {right arrow over (s)}(t _(a))×{right arrow over(λ)})sin φ_(i)+(^(b) {right arrow over (s)}(t _(a))·{right arrow over(λ)})(1−cos φ_(i))   Eq. (1)where φ_(i)=|{right arrow over (ω)}|(t_(a)−t_(i)).

Equation (1) can be found in “Spacecraft Dynamics,” by T. R. Kane, P. W.Likins, and D. A. Levinson, (New York: McGraw-Hill, 1983), which ishereby incorporated by reference herein.

Equation (1) makes use of the positions ^(b){right arrow over(s)}(t_(i)) and ^(b){right arrow over (s)}(t_(a)), actual spacecraftattitude at time t_(a), {right arrow over (q)}_(b) _(—) _(eci)(t_(a)),and the spacecraft angular velocity, {right arrow over (ω)}=|{rightarrow over (ω)}|{right arrow over (λ)}, none of which are known.

Based on the known, estimated attitude at time t_(a), ^(est){right arrowover (q)}_(b) _(—eci) (t_(a)), and on the known. identified starposition with respect to the ECI frame, ^(eci){right arrow over(s)}_(i), a crude estimate for ^(b){right arrow over (s)}(t_(a)),identified star position at time t_(a), defined with respect to thespacecraft body frame can be formulated, which we shall refer to as

$\,^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack$as follows:

${\,^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack} \equiv {{{\,^{est}{\,{\overset{\rightharpoonup}{q}}_{b\_ eci}}}\left( t_{\alpha} \right)}^{*{eci}}{\overset{\rightharpoonup}{s}}_{i}}$

Based on the known, estimated attitude at time t_(a), ^(est){right arrowover (q)}_(b) _(—) _(eci)(t_(a)), and known, estimated angular velocity,^(est){right arrow over (ω)}=|^(est){right arrow over (ω)}|^(est){rightarrow over (λ)}, a crude prediction for ^(b){right arrow over(s)}(t_(i)), identified star position at time t_(i), defined withrespect to the spacecraft body frame can be formulated. We shall referto this prediction as

${{\,^{b}\overset{\rightharpoonup}{\underset{pred}{s}}}\left( t_{i} \right)}\text{:}$

$\begin{matrix}{{\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} = {{{\,^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack}\cos\;\left( {{}_{}^{}{}_{}^{}} \right)} - {\left( {{\,^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack} \times {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right){\sin\left( {{}_{}^{}{}_{}^{}} \right)}} + {\left( {{\,^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack} \cdot {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right)\left( {1 - {\cos\left( {{}_{}^{}{}_{}^{}} \right)}} \right){\,^{est}\overset{\rightharpoonup}{\lambda}}}}} & {{Eq}.\mspace{14mu}(2)}\end{matrix}$where ^(est)φ_(i)=|^(est){right arrow over (ω)}|(t_(a)−t_(i)). Usingthis crude estimate of star position, a “residual” for each individualstar can be defined as follows:

${\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} \equiv {{\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} - {\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)}}$

The residual indicates the error in the attitude and angular velocityestimates. If there is no error, if the star position is perfectlymeasured by the star sensor or star tracker, and if {right arrow over(q)}_(b) _(—) _(eci)(t_(a))=^(est){right arrow over (q)}_(b) _(—)_(eci)(t_(a)) and {right arrow over (ω)}=^(est){right arrow over (ω)},the residual will be zero.

As the residual will not, in general, be zero, a refinement of theattitude and/or angular velocity estimate may be made. The refinement(s)are such that predictions of identified star positions, made using therefined attitude and angular velocity estimates, closely match theobserved star positions (noise in the observations makes a perfect matchimpossible). To refine the attitude estimate, an attitude refinement,Δ{right arrow over (q)}, is defined such that the true attitude at timet_(a), {right arrow over (q)}_(b) _(—) _(eci)(t_(a)), may be expressedas{right arrow over (q)} _(b) _(—) _(eci)(t _(a))=^(est) {right arrow over(q)} _(b) _(—eci) (t _(a))·Δ{right arrow over (q)}.

Should it be desired to refine the angular velocity estimate, we definean angular rate refinement, Δω, and an angular velocity orientationrefinement vector, Δ{right arrow over (λ)}, from the proposition thatthe true angular velocity, {right arrow over (ω)}, may be expressed asfollows:

$\overset{\rightharpoonup}{\omega} \equiv {\left( {{{\,^{est}\overset{\rightharpoonup}{\omega}}} + {\Delta\;\omega}} \right) \cdot {\left\lbrack {{\,^{est}\overset{\rightharpoonup}{\lambda}} + {\Delta\;\overset{\rightharpoonup}{\lambda}}} \right\rbrack.}}$

If it is further assumed that the refinements are relatively small; thatis, Δ{right arrow over (q)} represents a rotation through an angle muchless than the one radian, Δω<<^(est){right arrow over (ω)}, and |Δ{rightarrow over (λ)}|<<1. From Equation (1), and using the refinements justdefined, we can write an equation predicting,

${\,\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}}\left( t_{i} \right)$the position of the identified star at time t_(i)) as follows:

$\begin{matrix}{{{\,^{b}\overset{\rightharpoonup}{\underset{refined}{s}}}\left( t_{i} \right)} = {{\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} + {\Delta\;\overset{\rightharpoonup}{q}*^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack} + {\Delta\;{\omega \cdot \left( {t_{i} - t_{\alpha}} \right)}\left\lfloor {}^{est}{{{\,\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack}\sin{\,\left( {}^{est}\phi_{i} \right)}} + {\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \times {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right){\cos\left( {}^{est}\phi_{i} \right)}} - {\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right){\sin\left( {}^{est}\phi_{i} \right)}{\,^{est}\overset{\rightharpoonup}{\lambda}}}} \right\rfloor} + \left\lfloor {{{\sin\left( {}^{est}\phi_{i} \right)}\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \times} \right)} + {\left( {1 - {\cos\left( {}^{est}\phi_{i} \right)}} \right)\left\{ {{{\,^{est}\overset{\rightharpoonup}{\lambda}}\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot} \right)} + \left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right\}} \right\rfloor\Delta\;\overset{\rightharpoonup}{\lambda}}} \right.}} & {{Eq}.\mspace{14mu}(3)}\end{matrix}$

Subtracting the observed star positions,

${\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$from both sides of the above equation, we obtain:

$\begin{matrix}{{{{\,^{b}\overset{\rightharpoonup}{\underset{refined}{s}}}\left( t_{i} \right)} - {\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)}} = {{\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} + {\Delta\;\overset{\rightharpoonup}{q}*^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack} + {\Delta\;{\omega \cdot \left( {t_{i} - t_{\alpha}} \right)}\left\lfloor {}^{est}{{{\,\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack}\sin{\,\left( {}^{est}\phi_{i} \right)}} + {\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \times {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right){\cos\left( {}^{est}\phi_{i} \right)}} - \left( {}^{est}{{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot {\,^{est}\overset{\rightharpoonup}{\lambda}}}{\sin\left( {}^{est}\phi_{i} \right)}{\,^{est}\overset{\rightharpoonup}{\lambda}}} \right\rfloor + \left\lfloor {{{\sin\left( {}^{est}\phi_{i} \right)}\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \times} \right)} + {\left( {1 - {\cos\left( {}^{est}\phi_{i} \right)}} \right)\left\{ {{{\,^{est}\overset{\rightharpoonup}{\lambda}}\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot} \right)} + \left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right\}} \right\rfloor\Delta\;\overset{\rightharpoonup}{\lambda}}} \right.} \right.}}} & {{Eq}.\mspace{14mu}(4)}\end{matrix}$

Since the refined positions of the identified stars should match theobserved positions of the identified stars, the left-hand side of Eq.(4) should be zero. Hence, Equation (4) becomes:

$\begin{matrix}{0 = {{\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)} + {\Delta{\,\overset{\rightharpoonup}{q}}*{\,^{est}\left\lbrack {{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{\alpha} \right)} \right\rbrack}} + {\Delta\;{\omega \cdot \left( {t_{i} - t_{\alpha}} \right)}\left\lfloor {}^{est}{{{\,\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack}\sin{\,\left( {}^{est}\phi_{i} \right)}} + {\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \times {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right){\cos\left( {}^{est}\phi_{i} \right)}} - {\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right)\sin\left( {}^{est}\phi_{i} \right){\,^{est}\overset{\rightharpoonup}{\lambda}}}} \right\rfloor} + \left\lfloor {{{\sin\left( {}^{est}\phi_{i} \right)}\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \times} \right)} + {\left( {1 - {\cos\left( {}^{est}\phi_{i} \right)}} \right)\left\{ {{{\,^{est}\overset{\rightharpoonup}{\lambda}}\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot} \right)} + \;\left( {}^{est}{\left\lbrack {}^{b}{\overset{\rightharpoonup}{s}\left( t_{\alpha} \right)} \right\rbrack \cdot {\,^{est}\overset{\rightharpoonup}{\lambda}}} \right\}} \right\rfloor\Delta\;\overset{\rightharpoonup}{\lambda}}} \right.}} & {{Eq}.\mspace{14mu}(5)}\end{matrix}$The refinement of the spacecraft attitude and angular velocity becomes acomputation of the optimal values of Δ{right arrow over (q)}, Δω, andΔ{right arrow over (λ)} in order to closest satisfy Eq. (5) for the Nequations (since i=1, 2, . . . , N).

To refine only the attitude estimate, Δω and Δ{right arrow over (ω)} maybe arbitrarily set to zero, so the optimal value of Δ{right arrow over(q)} may be calculated. Similarly, to refine only the angular velocityestimate, Δ{right arrow over (q)} may be set to the identity, so theoptimal values for Δω and Δ{right arrow over (λ)} may be calculated.

FIG. 4 is a diagram illustrating exemplary method steps that can be usedto practice one embodiment of the present invention. FIG. 4 will bediscussed with reference to FIG. 5, which prevents one embodiment of asystem that can be used to refine spacecraft angular velocity andattitude estimates.

Measured star positions are determined for a plurality of stars at timest_(i), as shown in block 402. This may be accomplished as follows.Referring to FIG. 5, observed star positions

$\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$are determined for a plurality of stars observed at times t_(i) for i=1,2, . . . , N. These observed star positions are preferably determined ina the star sensor reference frame (ST), but can be determined in anyreference frame fixed or referenceable to the star sensor referenceframe. These are supplied to a navigation subsystem 504 along with anestimated spacecraft angular velocity ^(est){right arrow over (ω)} froman angular velocity sensor 518 such as a gyro. By identifying theplurality of observed stars (e.g. by correspondence to entries in a starcatalog or database 502, the positions of the observed stars aredetermined with respect to an inertial reference frame. This can beaccomplished, for example, by transforming star position measurements orobservations

${\,^{ST}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)$from the star tracker 218 to spacecraft 100 body-referenced equivalentpositions,

${{\,^{b}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)},$using the known alignments of the star sensors or trackers with respectto the spacecraft 100 body.

Predicted star positions for a plurality of stars are at times t_(i) aredetermined from an estimated spacecraft angular velocity and anestimated spacecraft attitude, as shown in block 404 of FIG. 4. In oneembodiment, this is performed by the predictor module 506 using thenavigation subsystem 504 output including the times t_(i); thecorresponding positions of the stars with respect to the ECI frame aslisted in a star catalog or database 502, ^(eci){right arrow over(s)}_(i); an estimated spacecraft angular velocity ^(esi){right arrowover (ω)} from an angular velocity sensor 518; and an estimatedspacecraft attitude at time t_(a), ^(est){right arrow over (q)}_(b) _(—)_(eci)(t_(a)).

A residuals

${\,^{b}\overset{\rightharpoonup}{\underset{res}{s}}}\left( t_{i} \right)$between the predicted star positions

${\,^{b}\overset{\rightharpoonup}{\underset{pred}{s}}}\left( t_{i} \right)$and the observed star positions

${\,^{b}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)$are then determined as shown in block 406. This can be accomplished bysimple subtraction, as represented by differencer 508.

As shown in block 510, equations are generated, such as theaforementioned Equation (4) for i=1, 2, . . . , N. expressing thedifference between a refined star position estimate and the (observed)position measurements,

$\left\lbrack {{{\,^{b}\overset{\rightharpoonup}{\underset{refined}{s}}}\left( t_{i} \right)} - {{\,^{b}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)}} \right\rbrack,$as a function of attitude and/or angular velocity refinement, and knownquantities. A spacecraft attitude refinement including an attituderefinement Δ{right arrow over (q)} and/or an angular velocity refinement(composed of an angular rate refinement, Δω, and an angular velocityorientation refinement, Δ{right arrow over (λ)}) is determined, as shownin block 512. This can be accomplished using well known least squares orother linear programming and estimation techniques, wherein the refinedvalues Δ{right arrow over (q)} and/or Δω and Δ{right arrow over (λ)},are chosen to minimize the quantities

$\left\lbrack {{{\,^{b}\overset{\rightharpoonup}{\underset{refined}{s}}}\left( t_{i} \right)} - {{\,^{b}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)}} \right\rbrack,$for i=1, 2, . . . , N, as defined by block 510. The refined valuesΔ{right arrow over (q)}, and/or Δω and Δ{right arrow over (λ)}, are thencombined with the estimated values ^(est){right arrow over (ω)} and^(est){right arrow over (q)}_(b) _(—) _(eci)(t_(a)), as shown in blocks514 and 516, to arrive at an improved attitude and/or angular velocityestimate.

CONCLUSION

This concludes the description of the preferred embodiments of thepresent invention. The foregoing description of the preferred embodimentof the invention has been presented for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise form disclosed. Many modifications andvariations are possible in light of the above teaching. It is intendedthat the scope of the invention be limited not by this detaileddescription, but rather by the claims appended hereto. The abovespecification, examples and data provide a complete description of themanufacture and use of the composition of the invention. Since manyembodiments of the invention can be made without departing from thespirit and scope of the invention, the invention resides in the claimshereinafter appended.

1. A method of refining a spacecraft state estimate, comprising thesteps of: determining observed star positions${\,^{ST}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)$in a first reference frame, ST, fixed with respect to a star sensorreference frame, for a plurality of stars observed at times t_(i) fori=1, 2, . . . , N; converting the observed star positions${\,^{ST}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)$in the first reference frame ST, for a plurality of stars observed attimes t_(i) for i=1, 2, . . . , N into observed star positions${\,^{b}\overset{\rightharpoonup}{\underset{obs}{s}}}\left( t_{i} \right)$in a second reference frame, b, fixed with respect to a spacecraft bodyreference frame, for the plurality of stars observed at times t_(i) fori=1, 2, . . . , N; determining an estimated spacecraft angular velocity,^(est){right arrow over (ω)}, at times t_(i) for i=1, 2, . . . , N;determining, through identification of the plurality of stars ascorresponding to entries in a star database, the star positions^(inertial){right arrow over (s)}_(i) with respect to an inertialreference frame inertial, for i=1, 2, . . . , N; predicting starpositions${\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$with respect to the second reference frame b, for the plurality of starsobserved at times t_(i) for i=1, 2, . . . , N, from the star positionsin the inertial reference frame ^(inertial){right arrow over (s)}_(i),estimated spacecraft angular velocity ^(est){right arrow over (ω)} andan estimated spacecraft attitude ^(est){right arrow over (q)}_(b) _(—)_(inertial)(t_(a)), applicable at time t_(a); determining residuals$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b for the plurality of stars observed attimes t_(i) for i=1, 2, . . . , N, from a difference between thepredicted star positions in the second reference frame$\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$and the observed star positions in the second reference frame${\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)};$determining N equations for differences between the refined starpositions$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b and observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , N asa function of the residuals in the second reference frame$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$for the plurality of stars observed at times t_(i) for i=1, 2, . . . ,N, and a refined spacecraft state estimate; and determining the refinedspacecraft state estimate to minimize the differences between therefined star positions in the second reference frame$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$and observed star positions in the second reference frame$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$at times t_(i) for i=1, 2, . . . , N from the N equations.
 2. The methodof claim 1, wherein the step of determining N equations for differencesbetween the refined star positions$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b and observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , N asa function of the residuals$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b for the plurality of stars observed attimes t_(i) for i=1, 2, . . . , N, and the refined spacecraft stateestimate comprises the steps of: determining N intermediate equationsfor refined star positions$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , Ncorresponding to the star positions ^(inertial){right arrow over(s)}_(i) with respect to an inertial reference frame inertial, for i=1,2, . . . , N, as a function of the refined spacecraft state estimate,and the predicted star positions$\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$of the plurality of stars in the second reference frame b at times t_(i)for i=1, 2, . . . , N; and determining the N equations from the Nintermediate equations and the observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b.
 3. The method of claim 1, wherein theinertial reference frame is an earth centered inertial reference frame.4. The method of claim 1, wherein the observed star positions in thefirst reference frame${\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$are converted into observed star positions in a second reference framefixed with respect to a spacecraft body reference frame$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$for the plurality of stars at times t_(i) for i=1, 2, . . . , N via amapping based on one or more star sensor alignments.
 5. The method ofclaim 1, wherein the state estimate comprises a spacecraft attitudeestimate and the refined spacecraft state estimate comprises a refinedattitude estimate.
 6. The method of claim 5, wherein the refinedattitude estimate is computed from the estimated spacecraft attitude^(est){right arrow over (q)}_(b) _(—) _(inertial)(t_(a)) adjusted by anattitude refinement.
 7. The method of claim 1, wherein the stateestimate comprises a spacecraft angular velocity estimate, and therefined spacecraft state estimate comprises a refined spacecraft angularvelocity estimate.
 8. The method of claim 7, wherein the refinedspacecraft angular velocity estimate is computed from the estimatedspacecraft angular velocity ^(est){right arrow over (ω)} adjusted by anangular velocity refinement.
 9. The method of claim 1, wherein arepresentation of the estimated spacecraft attitude ^(est){right arrowover (q)}_(b) _(—) _(inertial)(t_(a)) comprises a quaternion.
 10. Themethod of claim 1, wherein a representation of the estimated spacecraftattitude ^(est){right arrow over (q)}_(b) _(—) _(inertial)(t_(a))comprises a direction cosine matrix.
 11. The method of claim 1, whereinthe step of determining observed star positions$\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in a first reference frame, ST, fixed with respect to a star sensorreference frame, for a plurality of stars observed at times t_(i) fori=1, 2, . . . , N comprises the step of measuring the observed starpositions with at least one star tracker.
 12. An apparatus for refininga spacecraft state estimate, comprising: a star sensor configured todetermine for observed star positions$\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in a first reference frame, ST, fixed with respect to a star sensorreference frame, for a plurality of stars observed at times t_(i) fori=1, 2, . . . , N; a navigation subsystem configured to convert theobserved star positions$\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the first reference frame ST, for a plurality of stars observed attimes t_(i) for i=1, 2, . . . , N into observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in a second reference frame, b, fixed with respect to a spacecraft bodyreference frame, for the plurality of stars observed at times t_(i) fori=1, 2, . . . , N; determine an estimated spacecraft angular velocity,^(est){right arrow over (ω)}, at times t_(i) for i=1, 2, . . . , N; andfor determine through identification of the plurality of stars ascorresponding to entries in a star database, the star positions^(inertial){right arrow over (s)}_(i) with respect to an inertialreference frame inertial, for i=1, 2, . . . , N; a predictor moduleconfigured to predict star positions${\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$with respect to the second reference frame b, for the plurality of starsobserved at times t_(i) for i=1, 2, . . . , N, from the star positionsin the inertial reference frame ^(inertial){right arrow over (s)}_(i),estimated spacecraft angular velocity ^(est){right arrow over (ω)} andan estimated spacecraft attitude ^(est){right arrow over (q)}_(b) _(—)_(inertial)(t_(a)), applicable at time t_(a); a differencer configuredto determine residuals$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b for the plurality of stars observed attimes t_(i) for i=1, 2, . . . , N, from a difference between thepredicted star positions in the second reference frame$\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$and the observed star positions in the second reference frame${\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)};$an equation formulator configured to determine N equations fordifferences between the refined star positions$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b and observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , N asa function of the residuals in the second reference frame$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$for the plurality of stars observed at times t_(i) for i=1, 2, . . . ,N, and a refined spacecraft state estimate; and a solver configured todetermine the refined spacecraft state estimate to minimize thedifferences between the refined star positions in the second referenceframe$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$and observed star positions in the second reference frame$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$at times t_(i) for i=1, 2, . . . , N from the N equations.
 13. Theapparatus of claim 12, wherein the equation formulator determines Nintermediate equations for refined star positions$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , Ncorresponding to the star positions ^(inertial){right arrow over(s)}_(i) with respect to an inertial reference frame inertial, for i=1,2, . . . , N, as a function of the refined spacecraft state estimate,and the predicted star positions$\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$of the plurality of stars in the second reference frame b at times t_(i)for i=1, 2, . . . N, and determines the N equations from the Nintermediate equations and the observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b.
 14. The apparatus of claim 12, whereinthe inertial reference frame is an earth centered inertial referenceframe.
 15. The apparatus of claim 12, wherein the observed starpositions in the first reference frame${\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$are converted into observed star positions in a second reference framefixed with respect to a spacecraft body reference frame$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$for the plurality of stars at times t_(i) for i=1, 2, . . . , N via amapping based on one or more star sensor alignments.
 16. The apparatusof claim 12, wherein the state estimate comprises a spacecraft attitudeestimate and the refined spacecraft state estimate comprises a refinedattitude estimate.
 17. The apparatus of claim 16, wherein the refinedattitude estimate is computed from the estimated spacecraft attitude^(est){right arrow over (q)}_(b) _(—) _(inertial)(t_(a)) adjusted by anattitude refinement.
 18. The apparatus of claim 12, wherein the stateestimate comprises a spacecraft angular velocity estimate, and therefined spacecraft state estimate comprises a refined spacecraft angularvelocity estimate.
 19. The apparatus of claim 18, wherein the refinedspacecraft angular velocity estimate is computed from the estimatedspacecraft angular velocity ^(est){right arrow over (ω)} adjusted by anangular velocity refinement.
 20. The apparatus of claim 12, wherein arepresentation of the estimated spacecraft attitude ^(est){right arrowover (q)}_(b) _(—) _(inertial)(t_(a)) comprises a quaternion.
 21. Theapparatus of claim 12, wherein a representation of the estimatedspacecraft attitude ^(est){right arrow over (q)}_(b) _(—)_(inertial)(t_(a)) comprises a direction cosine matrix.
 22. An apparatusfor refining a spacecraft state estimate, comprising: means fordetermining observed star positions$\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in a first reference frame, ST, fixed with respect to a star sensorreference frame, for a plurality of stars observed at times t_(i) fori=1, 2, . . . , N; means for converting the observed star positions$\underset{obs}{\,^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the first reference frame ST, for a plurality of stars observed attimes t_(i) for i=1, 2, . . . , N into observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in a second reference frame, b, fixed with respect to a spacecraft bodyreference frame, for the plurality of stars observed at times t_(i) fori=1, 2, . . . , N; means for determining an estimated spacecraft angularvelocity, ^(est){right arrow over (ω)}, at times t_(i) for i=1, 2, . . ., N; means for determining, through identification of the plurality ofstars as corresponding to entries in a star database, the star positions^(inertial){right arrow over (s)}_(i) with respect to an inertialreference frame inertial, for i=1, 2, . . . , N; means for predictingstar positions by${\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$with respect to the second reference frame b, for the plurality of starsobserved at times t_(i) for i=1, 2, . . . , N, from the star positionsin the inertial reference frame ^(inertial){right arrow over (s)}_(i),estimated spacecraft angular velocity est6 and an estimated spacecraftattitude ^(est){right arrow over (q)}_(b) _(—) _(inertial)(t_(a)),applicable at time t_(a); means for determining residuals$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b for the plurality of stars observed attimes t_(i) for i=1, 2, . . . , N, from a difference between thepredicted star positions in the second reference frame$\underset{pred}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$and the observed star positions in the second reference frame${\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)};$means for determining N equations for differences between the refinedstar positions$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b and observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , N asa function of the residuals in the second reference frame$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$for the plurality of stars observed at times t_(i) for i=1, 2, . . . ,N, and a refined spacecraft state estimate; and means for determiningthe refined spacecraft state estimate to minimize the differencesbetween the refined star positions in the second reference frame$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$and observed star positions in the second reference frame$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$at times t_(i) for i=1, 2, . . . , N from the N equations.
 23. Theapparatus of claim 22, wherein the means for determining N equations fordifferences between the refined star positions$\underset{refined}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b and observed star positions$\underset{obs}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , N asa function of the residuals$\underset{res}{\,^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b for the plurality of stars observed attimes to for i=1, 2, . . . , N, and the refined spacecraft stateestimate comprises: means for determining N intermediate equations forrefined star positions$\underset{refined}{\;^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b at times t_(i) for i=1, 2, . . . , Ncorresponding to the star positions ^(inertial){right arrow over(s)}_(i) with respect to an inertial reference frame inertial, for i=1,2, . . . , N. as a function of the refined spacecraft state estimate,and the predicted star positions$\underset{pred}{\;^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$of the plurality of stars in the second reference frame b at times t_(i)for i=1, 2, . . . , N; and means for determining the N equations fromthe N intermediate equations and the observed star positions$\underset{obs}{\;^{b}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in the second reference frame b.
 24. The apparatus of claim 22, whereinthe inertial reference frame is an earth centered inertial referenceframe.
 25. The apparatus of claim 22, wherein the observed starpositions in the first reference frame${\underset{obs}{\;^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)},$are converted into observed star positions in a second reference framefixed with respect to a spacecraft body reference frame ^(b)_(obs){right arrow over (s)}(t_(i)) for the plurality of stars at timest_(i) for i=1, 2, . . . , N via a mapping based on one or more starsensor alignments.
 26. The apparatus of claim 22, wherein the stateestimate comprises a spacecraft attitude estimate and the refinedspacecraft state estimate comprises a refined attitude estimate.
 27. Theapparatus of claim 26, wherein the refined attitude estimate is computedfrom the estimated spacecraft attitude ^(est){right arrow over (q)}_(b)_(—) _(inertial)(t_(a)) adjusted by an attitude refinement.
 28. Theapparatus of claim 22, wherein the state estimate comprises a spacecraftangular velocity estimate, and the refined spacecraft state estimatecomprises a refined spacecraft angular velocity estimate.
 29. Theapparatus of claim 28, wherein the refined spacecraft angular velocityestimate is computed from the estimated spacecraft angular velocity^(est){right arrow over (ω)} adjusted by an angular velocity refinement.30. The apparatus of claim 22, wherein the representation of theestimated spacecraft attitude ^(est){right arrow over (q)}_(b) _(—)_(inertial)(t_(a)) comprises a quaternion.
 31. The apparatus of claim22, wherein a representation of the estimated spacecraft attitude^(est){right arrow over (q)}_(b) _(—) _(inertial)(t_(a)) comprises adirection cosine matrix.
 32. The apparatus of claim 22, wherein the stepof determining observed star positions$\underset{obs}{\;^{ST}\overset{\rightharpoonup}{s}}\left( t_{i} \right)$in a first reference frame, ST, fixed with respect to a star sensorreference frame, for a plurality of stars observed at times t_(i) fori=1, 2, . . . , N comprises the step of measuring the observed starpositions with at least one star tracker.